package com.sc.nft.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sc.nft.entity.RankingBoardConf;
import com.sc.nft.entity.RankingBoardHistoryDetails;
import com.sc.nft.entity.UserInfo;
import com.sc.nft.entity.dto.ListDetailsListDTO;
import com.sc.nft.entity.dto.UserIndependentListDTO;
import com.sc.nft.entity.vo.ListDetailsListVO;
import com.sc.nft.entity.vo.UserIndependentListVO;

public interface RankingBoardDetailsNumberService {

    /**
     * 榜单详情排名列表
     *
     * @param listDetailsListDTO
     * @return
     */
    IPage<ListDetailsListVO> listDetailsList(ListDetailsListDTO listDetailsListDTO);

    /**
     * 用户独立榜单
     *
     * @param userIndependentListDTO
     * @return
     */
    UserIndependentListVO userIndependentList(UserIndependentListDTO userIndependentListDTO, UserInfo userInfo);

    /**
     * 更新榜单
     *
     * @param rankingBoardConf
     */
    void rankingUpdate(RankingBoardConf rankingBoardConf);

    /**
     * 结算榜单
     *
     * @param rankingBoardConf
     */
    void settlementList(RankingBoardConf rankingBoardConf);

    /**
     * 排名发放奖励
     *
     * @param rankingBoardHistoryDetail
     */
    void rankingAward(RankingBoardHistoryDetails rankingBoardHistoryDetail);

}
